import {ADDPERSON} from "../constant"

// 初始化人的列表
const initState = [{id: '001', name: 'tom', age: 18}]

export default function personReducer(preState=initState, action) {
  const {type, data} = action

  switch(type) {
    case ADDPERSON:            // 添加的人
      // 数组和对象这种引用类型对象，只进行了浅拷贝，在地址不变的情况下，无法监听到改变
      // 此处不可以这样写，这样会导致preState被改写了，personReducer就不是纯函数了。
      // preState.unshift(data)
      // return preState

      // 这种写法，数组的改变才能监听到
      return [data, ...preState]
    default:
      return preState
  }
}